import { extensions, helpers as h } from '@chainlink/test-helpers'
import { ethers } from 'ethers'
export const { bigNumberify: bn } = ethers.utils
extensions.ethers.BigNumber.extend(ethers.utils.BigNumber)
// Number of points in secp256k1
export const groupOrder = bn(
  '0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141',
)

export const secretKey = bn(
  // Uniformly sampled from {0,...,groupOrder}
  '0x5d18fc9fb6494384932af3bda6fe8102c0fa7a26774e22af3993a69e2ca79565',
)
export const publicKey = [
  // '>>>' means "computed in python"
  // >>> import py_ecc.secp256k1.secp256k1 as s
  // >>> print("'0x%x',\n'0x%x'" % tuple(s.multiply(s.G, secretKey)))
  bn('0x6e071bbc2060bce7bae894019d30bdf606bdc8ddc99d5023c4c73185827aeb01'),
  bn('0x9ed10348aa5cb37be35802226259ec776119bbea355597db176c66a0f94aa183'),
]
export const [msgHash, k] = [
  // Arbitrary values to test signature
  bn('0x18f224412c876d8efb2a3fa670837b5ad1347120363c2b310653f610d382729b'),
  bn('0xd51e13c68bf56155a83e50fd9bc840e2a1847fb9b49cd206a577ecd1cd15e285'),
]

export const kTimesG = [
  // >>> print("'0x%x',\n'0x%x'" % tuple(s.multiply(s.G, k)))
  // note that a 04 prefix was added to denote that this is a uncompressed point
  bn('0x6c8644d3d376356b540e95f1727b6fd99830d53ef8af963fcc401eeb7b9f8c9f'),
  // note that the leading 0x hex prefix was stripped
  bn('0xf142b3c0964202b45fb2f862843f75410ce07de04643b28b9ce04633b5fb225c'),
]
export const kTimesGAddress = h.pubkeyToAddress(kTimesG)
export const pubKeyYParity = publicKey[1].isEven() ? 0 : 1
export const e = bn(
  ethers.utils.solidityKeccak256(
    ['uint256', 'uint8', 'uint256', 'uint160'],
    [publicKey[0], pubKeyYParity ? '0x01' : '0x00', msgHash, kTimesGAddress],
  ),
)
export const s = k.sub(e.mul(secretKey)).umod(groupOrder) // s ≡ k - e*secretKey mod groupOrder

// This test was generated by by kyber/sign/ethdss/ethdss_test.go, with
// printTests set to true.
export const dssTest = [
  '5a94e2a971dac470c2cf16cb4379c386ec9ad79855ec5d9ab7f5bc1d1c303cb8',
  '1795577ee8b07abe72205af08699cad9c559f1f9d975c97a35932778ba9a170d',
  'abfc4ff682c5b89495dbf6c73ed981aa447f826a6061f8391532aa2653f97709',
  '05b977c36b515544e65b51d477fc16e0123106899009f4879975ed0b043b8859',
  '9de9eda4cf2e5539836b82cfe166691fb40a51b8',
]

// These tests were generated by by kyber/sign/ethschnorr/ethschnorr_test.go,
// with printTests set to true.
export const tests = [
  [
    '3743882645b07f80ff75d9ee843ab1f6206b3880b23a3ba70b06992744cb4f40',
    '5cd18fbb15ef224c8fca81aacffbcb34e1677a03af538f39d850ebde353c5952',
    '434c824de5d1054f7b96543e9775f8b01de815e4de8a349cc709e2ea2c480ba1',
    '45e29dae9c09f8eaf03792da1a19dcbab5343725ea3ac0e356fd12dd405e4bac',
    '7b95868caa7fe14af5c941afcb7e19e475fa5af8db3d520619163b1f7903ec5c',
    'f29310502cc0c8b09ba130e4a5b43bc8cbfe93ac',
  ],
  [
    '3f57b9a5ad1d4fe7cafba1869e371458888b1cc0c030966ff5b84e189aeca7e6',
    'eb2de2311cde029252f76939f6a1cee91344f4e9113d0c3991483068cf2dab08',
    '7a6a0b55950fedea3c2d556a17ec46e313348c43249d70ff277eceb8e192eee8',
    'eb8ea82f123c40414fe42941e7a1849fa405cb3b96a93939d3a52117956b5ce4',
    'b0086f4babc2fac25565642451618ca904227eab67f76eaaceafb0857082107b',
    'f66ad597f52d8421927e0b0c912c531289218250',
  ],
  [
    '8ad923598598a9d1a8faaab3e66fb3b3769d2fffd53ba11d491e03d6a391ae06',
    '2ade4b549316339ef25cd64d73adf953e48059f557636f82d5990ce23c36e7a9',
    '5c42c7231810a17e0f60e9e28952e1400690f7c00f8044114c28ec1ec3e95023',
    '12a2216d27504c92bf7f329b72cda04975fa986d4b9bf01f6e99ab149847ceeb',
    '88a073933d42f02bd362103a8df7655cd878eae9dcb367d1b92054d561387fd9',
    '1e440c3d8e3a205c4563f4446b1f62919e5452c6',
  ],
  [
    'c86f2e3597045cdd37d202bbf8d58128f6cda4c297e810b1612709e737ad8e28',
    '8652bdd817f42c769d57bad2f2d0feed342185b78d48a941635c0d337f47780e',
    '32255a2eea8c0f8d9f6367fc2f0febe2fba28a341909fdccd9a0fa277e1a249c',
    '73b199249ca790f749c343b20882eaa463a8af8e75a93c86beaa3532a6b33076',
    'bea6d15b1b264643f330a29853db17a3fd9fd504c63a36fe8315f67c6325ee93',
    'c14e0e1020d65667c6d62691a3f4a0080ed9e5a7',
  ],
  [
    '5c3df0399e2a7344b4cb9314bff12b71d8ad4350504b88a588e10997cfff9e5f',
    'abdcb5a1d6cc65ee4eb229836db5be308ea0c40b162a19debb938030b9fbee02',
    '1898f97034a3a0f2db6f411b5db4b604f7b96b5bffc0c1acdf6c17ab6ab10055',
    'f30c98448925127e301d63d84dfa1e2a673a171b4165950d138a6eab14dbdaea',
    '34344e47aa9c3ba01f662d4d42316154bac02a5429ebaf5c07feb38ed20cbdb9',
    'd9e698c287d7725e97b1f67d2c786dd4782fe487',
  ],
  [
    '675f62d8c1b84abfa30c42c918e4c18e1d4b177d6bc6ce280d59213c69c5c1b6',
    '2092a280f93a5d6aefc81c8ba452b81e48b650c964b76867614c1051fa84d1c8',
    '33a0ebe4a02b557a566424488ebb6b0bdd11f47b60aa4e842d357c7ca661d169',
    '50989ed974280f57d8c46158e031d8d00bd3faed1c3387694cc4e1421f67f366',
    'e442b80f6b441b4701924b8a5ade9e63dc217526e7030fd76ac459bce629a0da',
    'd814228d2fff81ea76d698698e0cbf2b1ca8d80f',
  ],
  [
    '0a8a9782dc44b98ab371a2724ac17c265752cc83a3f1954d60ae40e495912196',
    '06bb15f055999060b29661378b2d3e3584fe53f9664daefa9307f5a0d471f164',
    '35cdaa28f74e5f1912885562490d6cbbb581b0868ae4e0cdd123611df1291c36',
    '29cd470f288bdcbc98c62dd7d0da8dab3d43db2c809e7707076ce9188915807f',
    'ec02f2a0e2a17959940950adad631d6466023430d3aa0b82a13ace2b0d0ee08a',
    '52178b4f52ba05bd1de4bf87e67407ded4371e06',
  ],
  [
    'db350fbdb0b1f0358e4f63789f2c4f8f7450149bccb7efb155b8a5109e90cd95',
    '47f5a234da2fd817f8ce1f679e1084de659cd6f8e80e53abfbef88b2fd89c0be',
    '6eb7b07fe53970a32f4092aca63dd38bdd7857ca679f9b1351a0ddc8204b42b3',
    '30031aa20eceae3f8055c382e45edcd34000e6acf3fe72ac2d5ee861e03e6150',
    'aa8444b4e56e3e740b43eba3d3992c564841683c54ae525030e8e9b3c184d8cb',
    '252db651babcb648874081ed5fc69a314f101cbe',
  ],
  [
    '5cbe9e55912e5c1dc1886f961f97c4007291365b68c4c4439cf3a11ea8bd3d35',
    'e745653c7f68dbdf31fb29a2bb0fce2fb293b3cd832c6b6cd3b427fa8247e19f',
    '1eebfb01eb6a55723ea39850d5a262d8fcb074d5d29a6ce7f4e5b3445e21a880',
    '7e08471c69a6a7a1f9df870166934b3bcfe910985c19f5c0c9bcf0c4b4be0bf3',
    '10a579a3244fda6f5af63573f79dfafae423b8807d8f945fa27961a35bb1c6e7',
    'ae4708d31717a64e743276f5f73b9e86ad86b260',
  ],
  [
    'cc45c93a3b06277e3685c25ee5a37c5175a81dbcd5bb52526016689781df009e',
    '8c9df550be670929f7ab81da1ab5e2da0c5f24eb648ab8a1c8cdd8fb0ba0e547',
    '5c3ca1049ead110591de83baba81fc28c257c7e8e8af42e99ea192a9fb7339e1',
    '544e999a44fa2781e67aad1acac9e93c1edcd85627a2e072ec7dc870d6f86411',
    'bab712e38163ad7842213a1c3c04bb67735303924083bccef732aead1e5ce617',
    'ba56fece41e460cfdb84b6b72b170fce26ba7b71',
  ],
  [
    '7708a9f88c164ec3d132f1432ad7f0b7360acd50959616450c9a5c956a6659f9',
    '8b9b1625e83ad3e5c3b4aecb9aafd9460365c11f0a6425742f8bc8b10d86a24b',
    '6d0bb2b767924aab514e126038929afac39798de31027be3dbc1095b587057eb',
    '6f878cb8936642291c0e877933876548b2f5d3d975797cae931863fca2875d70',
    '4378e435d93166368cc6a0a8e3a96e9389ec7e937174217b82943be8a4da7718',
    '2ed947ef71e7b46b2977211683b55596ed9358dc',
  ],
  [
    'c571b2ef6a3a73c55341e844ef1035ed22f22e901c946bdb69d91a99b9cab551',
    'b93a37930ba5972014d61ec80397167a92a0b4af20277d1d2f0c4e71ccd9e5ce',
    '0a7e9521827c2ddf83480c310d502a9d0f7f0df573295cc99cf7c1419ef851f6',
    '05ad7cff45cdb385d659fc47d9e00a219ac96b13fcd3584ad5be32d9b8e365d9',
    'aa0f7ace28ee7a83c5ab0c2e9b8bdd92b13993cc7ceb4f3ee7e4231776c39b1b',
    'c8639ab8b1afcb1a4ab9891908387c483c6ffdf3',
  ],
  [
    '96cfc6576a7e84db9f0f29fb49c411e01a1b5d9daf33cb4e4d6512ad94df3887',
    'd6372083aac9da346ae00e06abc27f461400cb11e61aa4f963ccb6d6871274d6',
    '7c5f9723348f8ce785ea94c04f81724acb83ae9e78434cf5ad231147d8d9caca',
    'bfc0953244b7ed8dd5b7af50bcfa96ca3a2cdac027a21a0373ad896ec45706db',
    '18ad92cca7cafc8f02d49ecaba595c4abf78be4faba4bd9fc35c191aac007183',
    'd1e2b3539869eb3fdcce8012d31229206959276d',
  ],
  [
    '479a1b48adc7c2fec4e7cfcca3ddc4c41ccd01aeae2a9d6f106a599bc0b6b236',
    'b27418334f79cb2c3a43cd1be416953dc023654aeeb7f9611aed583c21b6eb1a',
    '56a7ab2080e1fdd5907c185b6628cd5d222050710796e66e66221485d521aa55',
    '057064c064b1b560d959b07435715571ee403d4039ef60a095c06dbef3a1af94',
    'c32786b17d5e9a3e3d18fc62a317e959dc5ba1184d1b0067742e8d6de928a78a',
    '02e5aa9787585bd869ae9ed31c3e67e65b404ed4',
  ],
  [
    'd49f997892194e3a9ec4edd7dfa3485ffed8d7e8c7facb6f04de708f9af5eb96',
    'ddd778f7d6b669fc204367192350778b99fca38e3c30c0bd01a19a65b6c5d185',
    '2bb43bca185c337a9e28ac34d4ee400c2021c167924f55926ae5b2565f059765',
    'dba3d006b4d425a55eb1c45298b0592f77a95af0f1e6f74f87b267be707af853',
    '9acd936be15e86f919343b0ca003b88c7f21691e91a52d5b03bc9c5ebf190d53',
    '77e76cdf42df7f81c2e780cac1736d1fbe73d45c',
  ],
  [
    '44e8adeaff99d62dd404041acefb9fa70f24391a39a9404e7c0b2cbfb6a25d03',
    'b41c1d665a7b6fa013091832c366652917ba109aef68b5d995412c6ee9026b55',
    '487dc4869f391ddd4a4856731e3cf4b3f5664e50cfd71534189546f42faab20e',
    '9ca895c3ca33d87954cb523f6bb8377368cf834c886aa0521873360f076b09ef',
    '622684d3b1b6d8e75a499b6dd183f7eb77383217dfdd16739ecc0361890caf2c',
    '37d3c73b48c08494d992c6b4b8af73550ba49f01',
  ],
  [
    'bc1697e3efe79aad3e9db96d8d653667839882ec925b858fa3de51d368e89363',
    '8fd788210948215775d08137bf80a31306fe3281434d1b6ddb09568b89ebdd94',
    '23b50fab978229a30c6b31dc0b0ae92012371fe565d9418520ff971796c66b1e',
    '1535fb156283ddcb5baf4ff1ddc492f80f9abd791cb35d8c4782b4542a986c4a',
    'effafcf0fa0aab5cc5a0546b87636dd24edd5644c31da371e605d403d742b061',
    '4830690ea3a916d6072ab45a923bde2900d8e10f',
  ],
  [
    'e9989b541466394919318d92bf34dbba3fb271cf9f6f998091a0e30eb9af1958',
    '7b7e3d4ce529d3f6e8c242e258d726186046e39a0540c83dc88287b253a47b16',
    '0f06f7429fc688050e3c5b4a9db22b7731e0fe46cd958739cc19592416b1eb5f',
    'a3cd642d87734dbbe2e70f796da365f70fadb6c53e5fb30350961ec56d4951fc',
    'bb63c3899e5ab0a0a11ef3cdd274d01ef50410ada52953af54a22a37148d53f3',
    '1a17edad833225b2f957b96a2cb82ef3b8e190e1',
  ],
  [
    '1c02be153023e6a8f97cf3670dd7014a4303c98ca25fffed14bca1904dfe595e',
    '0f7f7eefc1f84f705945365a0ce3bc856e41b8658656f34e25b19ef0970047cc',
    '1952f1f37244037abfef69c6bc255123e689300d3b5180c1282a8c02a91ad4fe',
    '40d6760e4fb1962d4efbc51caf0e3fa0b5203901fcbd953d65e6aeb055a6b1cd',
    '8afe8824d6d45671ff46aade149d662f40426786be2315f353ae0ffb653ddbef',
    '9d70de5bfb2ebfc60d499f9cc03607e33d0a74e0',
  ],
  [
    '7ebc4a72199237b619cb00f1e1a8d4e692beda87e2a6f2a4e7b8399c2ec96910',
    'ecc01debd6a7d1cb5b7340e67b3251c85132f6eb516ff58c8e48a737ce948e17',
    '3ee8013e65e413649568c5d4a6c821728876a30fb8fa26cf88b52162a13e37c1',
    'bb42525d2dffb03e6734c06857718a698af2afef4329641ce551c6d2916f68b3',
    '14cea34c380ff5ac0c25d0d3833373861792eecb78104af1bc6016b353f550a1',
    'c822fc3876ede1e2c987af74c59635b18a2500f5',
  ],
  [
    '82b5ce078350ea12a996afcbd8cfc1083f6a44db4071d2c8486207af97028e1e',
    '794989a3ba8e181b0a62abc57806fccf921c5fcc5e6f6b01f27735220eace6f0',
    '17b1c0f2aff8e81cbd9fc29280aba91ef063077db4168bf26bbeb18fcbdeb02a',
    '1cc87a1583d715a75a93bb8cdc4c6cab5ce6ef95174a166e80f7dc43ee6f7a94',
    '31f4cbfb469a47eb30361b50454db20de1259e0a6a0f9cef41f080be63712f88',
    '7dfa5aabd08e603c3a571a8bf1a8dde67f84dfbe',
  ],
  [
    '3ecfa74e5721d0137cad364076bcc0c01a27cd16c6e412739c930d71b01667f0',
    'de72bc5131a127ad968850c0329921e6d65aabe32516a055b18d736171e26d52',
    '7de0452e31f3ec4bddd09dc25fa09b69a567c4e16de16c24c214b6aaab7ce095',
    '83ba19ab1173f6a41964c3e6f5ed14d53626d0f2e37c025b46a229f479fdcba6',
    'f4859afc9731afb41e647ed723a85c3159022cdae63403fbbdcbc620dee575ef',
    '551817fe528ca86204c489d1d2f46707b8aaecca',
  ],
  [
    '4b4a5da52228b99d760298e97bcf2a95e839b2ca73026ad7200439091a1e5271',
    '49c4cc4e4c4dc31332128ae46c6bd11b4a81dde2c178952eda95958f731b6c80',
    '4461e03a8756f8f9bd917e295a5c7995531b8b83510e7f025f19225a607e1156',
    'fe6ac9e5bfb9a2042b3569f55da206eee8bb8bafb7f54330b88c35084a31f5d1',
    'd3d324b370bb2f17a807996938514284dbf281f62407977438dc900767954b5d',
    '67e6dde5a6e446f73a9aeface8cd73ce427b6d6f',
  ],
  [
    'a586144d35215947fec424ce581a686418056b7436aa83be13eab45654069942',
    'e8195518188ed742f0804286cfecf43928b298079dc83fc3094070eb1c47dcd7',
    '14d39f461db51a840dd2baa21e8fbcd6a2a367345b95aae428f7e1092a3462ef',
    'd2d2dc345c051b7ff8c59960d9f2feb8542fce41336480d6849ba37cf4e4fbd0',
    '739abab8e8d441398ec2225f97a7317c5136347c382cd1800c454850b7a2cb3d',
    '8aeef15521a014ee7644f56154d641a78eca4d12',
  ],
  [
    '48c0caf1b5427eb7b38e9aa9d56344fd086195cfb12184e0288a3508f5dd1ad4',
    '202f4075c780c3e532cfe6ca33a6ee0659ebe06d1f2ace377527bd1668b362ac',
    '1e53767a3680491372488e4d54dd5cf3c274e49023bda7f09314c217c8b6b393',
    'fe84c90ec2e31c453351ba109b4b7f722d5961b0e1bfed3d978c2d43fad4a220',
    'a230222ab226b12133b67326b4731062cc86511b22e814d487b7afce7959789d',
    '414fa675fc4930ef592d3957695f12b90ce1ba97',
  ],
  [
    'f301515f29f1c66f427a7af5c0bdc5964f3ac6f208d0a66fcd73392d5c573082',
    '1f9c26c4116ce2f718ae82e3ac6a786c25e51630b8d35c475c1404fb9cb71539',
    '3928f435af5459dd3f282abe02b6384688956ae7000a5200c45dccee233e6255',
    '7a0700afcd360d5abc6741b803aeda63f800ca056e624082be636dc9e50fb2b8',
    '529eb7dd4d3d217f7a2af827b63e399d17cd716f6a6234ce7367fc77e24d5f3e',
    '534d67cc51180df0604f925d5f2de4ca2b0a987b',
  ],
  [
    '4c21aaead051914e099f413127e5eaf04fc4f305feffd15aee1221a1250fba6d',
    '356c9aa5a9179cc564df6e8a421b408b4986f2204b60e7e900a78537b8febf76',
    '21ed8859d849f9672a0abc85040487c78127fdee322a1ecba41e90a9900e265a',
    'a5f0762cd9b529bdd436769d4df0ebf05542260d783ef0bb72b5577f70c4cb52',
    '6098adf8afaadbc99752c45943017a487143fad9a8ab4fbd70aff6ffb9cc9609',
    'c42e0f6a4250451724a14678fbb8ca50dcc063e2',
  ],
  [
    '367482a8761efe8ca49c2e9731037c3c640217cf871712a7730eee33f402abb1',
    'fa958b3efb5354f9f2243a6e4c9e2a22d864a4ab657293bd53e46efe5ac48af4',
    '617b8ae34e539cb5c145a8919ba3144026a640b0ccff843f44dec4f1b56b1cf6',
    'e666f496f0319314127b6c6b4483503c89226167a5164bc9202c4d27a921cb88',
    'a04e43e650ba773676dcc42a5974b0d0b408978c991088c0453bc5bb20fc14fb',
    '158d1c7916e633619cae155d77aed6fed9606590',
  ],
  [
    '305fe035b2dc67605133502be815c8111be6cbee2eda7549c74234dbae4a98bd',
    '5711a4f58f4cd1fc607c19b2655b13e4a3d1587650631b475067c3c4df33c005',
    '0524b9f3e185e69d56c2cd3dc451b844b066266c6bfff2525957a3ddf887b8dd',
    'fd9394f76c5f64f8fd3421d0bd503684ab3fc80fe85833ad43d56cf06df9cfe9',
    'ba9f67e343d25a67cdb2346fcbae9144236708c8e643fdb01c61066167d74b28',
    '8437a14f00086d6fea454f6668d061a167bf304b',
  ],
  [
    'b603ef4e1643ec6247a7218309bc41eabc65fb4f87f47a9075dda90301e954bd',
    'ce6ca6abafd84200aeb3d503db0eb685fb346acc704176584937651565564fea',
    '0f7f222acae4a9886ca8252c4a1d9df2838a020dd7bb8e07dbc41adc02fc4f9f',
    '9e33a33170abeb01b806eeca63fc397e867283380564f865e65f8a1f31519309',
    'a3428f3949769251e3c2212d6fc6b96ada02a844f2d9811fecd237b6bc3e0371',
    'dade4783e898a1107642a43d88649e5d3727efc7',
  ],
  [
    '27c7203ce8c56921d300f717de9f97d7d60b26ec829cb7781b646db819039a3a',
    '0ab0099dc7832d017fa5d0ef3d5ea371ed0d7c2fb3dcceac434a7cd5a9a11175',
    '360eba8613123357ce01fba538293307572524a1e5dbb72760e14eab77aeb801',
    'ffa9e436d38a412df36308745716605b440b730a7a25762da1f0a5baad79fb43',
    'f9070d5aadbd0e535e828b17137b33e61154733cc79c664352392a291a3a3caa',
    '850076117d8514659e829a8bdc3569bc14ef0fb1',
  ],
  [
    '145a73a8a8f9d1ed9c913756b2d90d5e9df3f6a2a58a912e6a79b55f9d5d6ee4',
    '65aae284db1955b0cd613fe300c95db23b0092450a6c9f7e60a630839a2f8272',
    '49a40aa05d3dd88265c28484bd200619fadbe83241b38f1ee2c80c5855c8c9ac',
    'f851d0a490cd68a31ad6a7af17ae9b2a8c173262209b552395f1448ab6246840',
    '07a65afe033e7f4daa37b8d019fec978fb4b15f156a02f5757ea7644371e4c73',
    '58087cf42fd83e9ac0c89302204a65796a8a57a2',
  ],
  [
    'a55f4fee5a68a15fa2a735e64eca2df61176c9cef9f638d37b3827c986837f9b',
    'fe53116a81306da505f55923d12613f43e112588fc52ee0ab4f7f30168da8a5d',
    '55d6fe044ca5cd660a7438bae00914df3d541b1fd5eaad2c931f4dccd891e513',
    '18dcb74c5f705d69768a6c2dbead8a573d6b8a5852b8551be19005f4c2de51a0',
    '47cb33bb9f03ad422e3c0096850a80cea3576c0494731df41311846d8dbeaeb1',
    '3d9bfe381fe1fb2239a6d09752b03f7de33a5d71',
  ],
  [
    '5e73d2e6845a64fb2285e73c151d7fddfc162076aa9695b886df0778222c94ff',
    'd5403ea589e53eec05f589d4565058299bcd529ae2f7c5378964108a5e7421b0',
    '56c4409d350645fd77ea4dc4f456f9837868786178481b67631bd51504b1bb4f',
    '45ea23cf63f94f2c800cf5cff565d2e30a23bd0eaf7faf574570fd07ed10c16b',
    'a97d64abcd20c099bad4009a77cde9e04cd03c33c7205ba27c68c2955c3acfe4',
    '6f3756771c5fd0329ce0bfce6e0a8455c5635316',
  ],
  [
    'cbd5ba836fe886132d3eeca76dd1606ab472f15678cce0be0bf3d4161c17903c',
    '45ff9bc1d469fb6874840a93ea9c65011ebcb898302104a0c33958f86001e856',
    '3e393c28d610578648852179d517f4925b41353bcabde5206f682cd191060f9e',
    '01cc7fcae34b6930c629e3737f2d531e8d57e61b7a7e46de05d8ef53578f8041',
    '22c6cd2ce2a47205d934429ee38a1ddb74dcee419dd8cb22334b1a35f61247bf',
    '12f14bbd7b648f205812769edab439714f5e7f08',
  ],
  [
    'e9d2f2d0b73e953957fdd798dc8d190aab252d98283bb1a188da9557ee4ca621',
    '26e3fc48ff45fd1d6fd0e8967311117a84a9e2596537548c811ed0ee12f4351e',
    '1d6b72d5f269f057eec9f7c95280bbc434d91ad4968072bdc29dca5f601cf797',
    '4a1eb7e3e2d02e31e85562bacbf1c103b5dbe6352135dacb9643a4643ab331cf',
    '05028046d78ee95241d112521a9582d015d8ee141036feb4e5ba795b24327a17',
    '10cc56e3ebb01a6650cf4633c3d89fce4b0c0952',
  ],
  [
    'f42c3c31869563346b6a09eae09cfdc14afc19d058672edd8dd9d5adb45cd52f',
    '75783447885305f3043db25bacad1129496c1813cb649003ec7960a635dfd8d6',
    '1b07724e5cdcd41993e8dbb7f94dda5cc6defcfdb71f9bc7545bd5ca578ce086',
    'a9802809f0a8fb4a9e2a0ee4f68c69b677e030b1648e6333da8d38d2a07d1f8e',
    '1934bb478bfa4ec525af965e39dc0be75a2396af48b8e8d3301ac4565e3ce1f7',
    '5483bb40d453720c50489347a1f67954d08a6f86',
  ],
  [
    '8c21d61b0c0ada93981e0daabadf55dfb44f5d6bcfaa47c9a1f8b8594eecc2de',
    '41e9e6b0305195ec66b0a8e5d6ba88da00301fed5c24e4b6c123ba65314db276',
    '79427c5305c8fc5c547e573af364dfa24cab44669c7e4b412310feb343bc81f8',
    '83b52f0a88fb725314ba0bb8bfd857d1dc3e4ae3bcd948f19e636c8ac8da6cfd',
    '9a6ee3fd9cf9dfc99e2587aa5d1d144fb16c29612fbd4e81d103f87995b8e4e0',
    '92b9baa012c127b256769b7807ceaf05484831f6',
  ],
  [
    '5b3aed9ab6bf5d7f3e823f3468ebd19824fd8004787699cf8fad88983f39e3bd',
    'ab31d17020e388a4a73443073d9b4e4c7ce66208743a2b8b91138e556b4022c3',
    '461764d2532ec4118ad14ba8fdeb12e71739e44c98ba7b6c0226fa6a73ebc3d5',
    '5a872519732132cc706d4113708ea59b18b229e18bd4d0e2df9d832bb1120832',
    'dbf6322f9d1a9b85984af7789f3529377b74784e38af3c625c6058bd2b0c2f94',
    '8862319fe370f9740d90d220f7f25ca69466ef70',
  ],
  [
    '02880674d3b8d43a6f7011bc7d2212519cb5e97152917815a83b5cce68e8ce6e',
    'f85c7806e834e3c7b36283d83b30fb306d5ad91d54c0680f606ad4be09969e19',
    '59957f31043cbfc88d69fb52ab10ff6c3969e1f5389e48cc19d7280d79500995',
    '453b3ac7378da208ad29164e7419c80213e84ae4776bd5296e6bf137fd6d7734',
    '5dced1bdc4aa85646e246fbc59d93188fe295761669c76f8598190bbc2c6771e',
    'caf7c770c64308324611cc820d7ec564093c8ed0',
  ],
  [
    'a993b6b088b1bd3204df596eb51b1f40be3aff016594a2e57da19d2799a6b093',
    '0952ec73b69269d61550ba76407a56b9d6d63fa1d1050b9e541580f78481630c',
    '73b4723fe0c6a517746af0e4caaddfe03f6753bac56419d996bdbb5a68b1c22e',
    '55c55d13d5ad34ffaa9b1d8e9a090fa6ca24d634f36e874d280c51a9fc78255f',
    '1c46982ff9fc8228d8f9b815e132f507655a429231229c4e71544d71f98c1e86',
    '7a8f12b139daae882b1364c0f3b45827d9945b00',
  ],
  [
    'c76cd4af94bbbbd124281f1e6997f5d341e8f54758dab219b9cd0465e625241b',
    'bf6431484f724201910948e46a9f9284a942932bf02fca26346a5094da0a0342',
    '54b934ef255144fd83e2ccb56a88cf0d28cfb528cb4183286564914899829534',
    '4703349ce372dc95f261a76ca28431bd9fe5c1d25b657ccfc32c1ce00b29862c',
    '5212a2e1cd89dece087ed89713eee776bc01c309fa3fc920e4aebf984dcad000',
    'b9e07ce35f639b71b2e5b0786b32efb0c5ab457e',
  ],
  [
    '84d594b097a74ae09df90652e9e757647d3010a81bfae08fa5ce701bdd6ab517',
    '896b7a7c06d45208d8c2a121bc5710c31d77142779547dde77dcb715a851dc33',
    '1b13be0409655aabb2c4ae36cc01e176829030c3c5a3fd376dc35b6c28a38472',
    '17e69a33237b20150a3e31a3eb4537680c65f80d0b66e94f45d6586c6a932f74',
    '4deca85b8cdd8a62e57f957635a00015ff6fac8c304bffdad9c203fe77ba6015',
    '570164493bb16860c7db23b6b65de0aa87423d4c',
  ],
  [
    '4d247016436bd060feed73ae884ff855e405d70de3933616d2602d2e003590a8',
    'b598c4d966b9129c1c68a2d29dad6c831fad46b5971780de26f09b0cc95b0437',
    '0a73689d15910fba895852e3eefabc897517eda16c968d9a5106b628b5b80bdc',
    'fefdbd8ab67df2cecb30d08fd3fc3243ec495eb5590b19fe64ed60651dcef417',
    '20cb7697542bd05b469b8c8199f4d8b7f25b0463bbec02f47f72d7e795cf9ae9',
    'f8813b5a510ac2f3eda2fe3a801be59e5f10e1f6',
  ],
  [
    'd4971a3b4889b05ec4c9246bdc11159ba9377cac3da2cc3d7d3c8a0e5fdea413',
    '195533f1391c6e4e29fc90a2186ccfc4578cdaa52128acc138e837aa076d5688',
    '0ef8de630bfbf7c2e4eb9017b9fa36c04a4baeca62e7112a66590b9e49189696',
    '4fb32117a6e7dce478c4bddc75ad94ea204f360f5f318568a595398cbfc8c455',
    'a606a8bed7673046a8abc8387790597539698b5d6afddcd3995812abc2d0edf9',
    'd96a248e20ab0be6613aa1e29544748bf69ba786',
  ],
  [
    '384a1aa530ab05adb8a343f1c8ffd2301723215f5cadd09dbb2c034d23c40bc4',
    'beda976e085c065ba908d7e26ae15b4ce3bd4063136eee5e2252f7aa5f4d8554',
    '12dbec2d4873fa1bfb42a12b9abaf064917dcb80fb26c16c911a8dbf0a1cde70',
    '2708553d082099d751bdf0ab87978821456c3550cdf854d548c7048f54d09f8e',
    'ddf1d3c09d036470072c949b8caf9d3e251fc19c6346e335f0c6ba00de4965b2',
    'a246e6d821d0d7bd76e92e774d2a47a72e8adca7',
  ],
  [
    '7252a4bd9ad582937357b19550c9217b697c2aed908af91328d93faa6e12d1a2',
    '6f17c2020515fd34e22a4ecb21714b0dd98ac1ce08a5142a064714741b687b9c',
    '0f31e39d570601c735a91138187aa95a4af97386b195b5bcbbfb643bf3532708',
    '0bd713dfef3faf6a3ac03ee7dea1102f88bd5497938f49ab74f37079d536a3f3',
    '5bf4738e6cb8977677e94a63029d7fb6ee50bc6766dfcca4b0531960efe3d570',
    'eb2c2b5b91b2bbdc96dcb05a7cc7a5b5a5bcb16e',
  ],
  [
    '3d3b59887b39f007c55374b92187a39f3308d72b4dbbf3146174315d98a5a200',
    '3238e7f9c97b6f0e82bc0f3b4a61b2cbd7fd693b816b009914d0d8ff612094ad',
    '5c2cc42bb3314605e86a3fe5466adf5afb70f50603514bd75397b4062fd44290',
    '2fefa900df5581a78382eb497da9ca03ec8a9d429928f44a085c5126d9def141',
    '6194f091b667dca3bdcaba87b4f82c5453d16b86411e839423eb75613b2dd8b4',
    'bec9dfc52d801692f3a8577b35387df4c9bb52d9',
  ],
  [
    '3602a2423e0243156a44206defc3bbde2f1ab107f3030e1690a985a363a26430',
    '4a26bf1af40a29893e4273cc41d5bed7c4f253ba9c39febd782e59dff603f31d',
    '709eea09bee61ed509fe22dd8ffdcdb5428c66e9c558545ef5b5e9bdfaa8fc85',
    '2c99a4c2314dad390787ec20fa62373686c82d2169287e82aa4cfb801181de78',
    '486d9d30b213933b504343ab1036051a8bbc0fd1016220bd381ab51f22319ac0',
    '17840675ab6639ed94a73a397e9cfea26cc37be9',
  ],
  [
    '4aff63796a53c67fdb3f79111bac7f512a3e5f594402a7a4050aa28046f69629',
    'd2dbeaec3fc6de7acad14a72705b2ee6a8189331d9bac960825e47301c90ab7f',
    '5286d0c804b35366f33dadac46a5e4fb05cb78e741e7fdd0cd5cf63751681d3d',
    '9b08f31caa3a5e701246185d965b9a16b96069ec5c616c8ede6e684e8b349ded',
    'eee4571d72f7ed0e8abc8fe3f0a0a31c1673e2d9f0bd7b6a571d07315d0bfe05',
    'fe828ab46b100ffac0ba73b293ff178f0f0e83fd',
  ],
]
